import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
        isLogin:sessionStorage.getItem('isLogin')?1:0,//默认未登录状态 islogin为0 user为null
        // isLogin:0,
        user:sessionStorage.getItem('user') ? 
        JSON.parse(sessionStorage.getItem('user')):null ,
        // user:null
        itemList:[],//购物车列表
        count:0 ,  //小购物车数量
        cakes:[]   //搜索拿到的蛋糕数据
  },
  mutations: {
    //添加到购物车
       addItem(state,product){
         //假定购物车里面没有商品
        let isExists=false
         state.itemList.forEach((item)=>{
           //如果购物车中有相同的商品
           if(item.lid==product.lid){
              item.amount+=product.amount
              isExists=true
              //最上方小购物车数量变化
              state.count+=product.amount
           }
         })
         if(!isExists){
           state.itemList.push(product)
           state.count+=product.amount
    
         }

   },
    //itemlist amount 添加
      _addNum(state,lid){
        state.itemList.forEach((item)=>{
             if(item.lid==lid){
               item.amount++
               //return item.amount
              state.count++
             }
        })
      },
    //itemlist amount 减少        
      _reduceNum(state,lid){
        state.itemList.forEach((item)=>{
          if(item.lid==lid && item.amount>1){
            item.amount--
            //return item.amount
            state.count--
          }
     }
     )
 },
    //删除商品
       _removeItem(state,lid){
         //传两个参数进来
         state.itemList.forEach((item,index)=>{
          if(item.lid==lid){
             state.itemList.splice(index,1)
             state.count-=item.amount
          }
         })
       },
      
//更新用户状态
   updateLoginState(state,user){
       state.isLogin=1;
       state.user=user
    },
//让拿到的结果赋值给setlist
   setlist(state,searchlist){
     state.cakes=searchlist
     console.log(state.cakes)
   }

  },
  actions: {
    // search(context,keyword){
    //   axios.get(`/product/search?keyword=${keyword}`).then(
    //     res=>{
    //       //console.log(res)
          
    //       context.commit("setlist",res.data)
        
    //     }
    // )
    // }    
  },
  modules: {
  }
})
